
package com.mp.controller.ws;

import com.mp.db.jpa.modelo.Item;
import com.mp.db.jpa.modelo.NomeclaturaLocal;
import com.mp.db.jpa.modelo.TipoUnidade;
import com.mp.negocio.HistoricoPrecoService;
import com.mp.negocio.ItemService;
import com.mp.negocio.NomeclaturaLocalService;
import java.util.List;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;


@WebService(serviceName = "RegistroWS")
public class RegistroWS 
{
    
   private NomeclaturaLocalService localService = 
           new NomeclaturaLocalService();
   private ItemService itemService = 
           new ItemService();
   private HistoricoPrecoService historicoPrecoService = 
           new HistoricoPrecoService();
        
    @WebMethod
    public List<NomeclaturaLocal> getListaNomeclatura
       (@WebParam(name="idSessaoUsuario") String idSessaoUsuario) 
    {
        List<NomeclaturaLocal> listaLocal = null;
        
        try
        {   
            listaLocal =  localService.obterListaNomeclaturaLocalPorUsuario
                    (Integer.parseInt(idSessaoUsuario));
        }
        catch(Exception ex)
        {
            ex.getCause();
        }
        
        return listaLocal;
    }
      
    @WebMethod
    public List<Item> getListaItem
       (@WebParam(name="idSessaoUsuario") String idSessaoUsuario) 
    {
        List<Item> listaItem = null;
        
        try
        {   
            listaItem =  itemService.obterListaItemPorTipoItem
                    (Integer.parseInt(idSessaoUsuario));
        }
        catch(Exception ex)
        {
            ex.getCause();
        }
        
        return listaItem;
    }
    
    
    @WebMethod
    public TipoUnidade getTipoUnidade
       (
            @WebParam(name="idSessaoUsuario") String idSessaoUsuario,
            @WebParam(name="idItem") String idItem
       ) 
    {
        TipoUnidade tpUnidade = null;
        try
        {   
            tpUnidade =  itemService.obterTipoUnidade
                    (
                    Integer.parseInt(idSessaoUsuario),
                    Integer.parseInt(idItem)
                    );
        }
        catch(Exception ex)
        {
            ex.getCause();
        }
        
        return tpUnidade;
    }
   @WebMethod
    public void setHistoricoPreco
       (
            @WebParam(name="idSessaoUsuario") String idSessaoUsuario,
            @WebParam(name="idLocal") String idLocal,
            @WebParam(name="idItem") String idItem,
            @WebParam(name="valor") String valor,
            @WebParam(name="quantidade") String quantidade       
       ) 
    {
        try
        {   
           historicoPrecoService.gravarHistoricoPreco
                    (
                        Integer.parseInt(idSessaoUsuario),
                        Integer.parseInt(idLocal),
                        Integer.parseInt(idItem), 
                        Integer.parseInt(quantidade), 
                        Double.parseDouble(valor)
                    );
        }
        catch(Exception ex)
        {
            ex.getCause();
        }
  
    }
    
}
